#ifndef CUEVA_H_
#define CUEVA_H_

#include "Punto.h"

class Cueva{

private:
	
	static Cueva* instancia ;
	Punto* puntoPuertaAfuera;
	Punto* puntoPuertaAdentro;
	Punto* extremoSuperiorIzquierdo;
	Punto* extremoInferiorIzquierdo;

	Punto* extremoSuperiorDerecho;
	Punto* extremoInferiorDerecho;

	Cueva();

public:

	static Cueva* getInstance();

	// Retorna un ptoSendero de afuera de la cueva
	Punto* getPuntoPuertaAfuera();

	// Retorna un ptoSendero de adentro de la cueva
	Punto* getPuntoPuertaAdentro();

	// Retorna ptoSendero extremo superior izq de la cueva
	Punto* getExtremoSuperiorIzquierdo();

	// Retorna ptoSendero extremo superior izq de la cueva
	Punto* getExtremoInferiorIzquierdo();


	// Retorna ptoSendero extremo superior der de la cueva
	Punto* getExtremoSuperiorDerecho();

	// Retorna ptoSendero extremo superior der de la cueva
	Punto* getExtremoInferiorDerecho();

	// Destruye el singleton
	void destroy();

	~Cueva();

};

#endif